ExtJS তে কাস্টম ইভেন্ট (Custom Event) তৈরি করার মাধ্যমে আপনি কাস্টম আচরণ বা ইভেন্ট হ্যান্ডলিং যুক্ত করতে পারেন যা ডিফল্ট ইভেন্টগুলির বাইরেও কাজ করে। কাস্টম ইভেন্টগুলি ভিউ কম্পোনেন্টের ইন্টারঅ্যাকশনের উপর ভিত্তি করে চলতে পারে এবং অ্যাপ্লিকেশনের মধ্যে ইভেন্টের সমন্বয় ঘটাতে সহায়ক।
কাস্টম ইভেন্টগুলি হলো ইউজার ইন্টারঅ্যাকশনের মাধ্যমে বা কোডের মাধ্যমে ট্রিগার হওয়া ইভেন্ট যা আপনি নিজে তৈরি করেন। এগুলি সাধারণত একটি কম্পোনেন্টের মধ্যে বিশেষ পরিস্থিতি মোকাবেলা করার জন্য ব্যবহার করা হয়।
এখানে কাস্টম ইভেন্ট তৈরি করার প্রক্রিয়া এবং তার ব্যবহার দেখানো হয়েছে।
Ext.Component
ক্লাস বা এর সাবক্লাসে ইভেন্ট ডিফাইন করা যায়।fireEvent
মেথড ব্যবহার করে কাস্টম ইভেন্টটি ট্রিগার করতে হবে।ধরা যাক, আমরা একটি UserPanel
কম্পোনেন্ট তৈরি করছি, যা একটি কাস্টম ইভেন্ট userLoggedIn
ট্রিগার করবে যখন ব্যবহারকারী লগইন করবে। এই ইভেন্টটি সঠিকভাবে হ্যান্ডল করার জন্য একটি লিসেনার তৈরি করা হবে।
Ext.define('MyApp.view.UserPanel', {
extend: 'Ext.panel.Panel',
xtype: 'userpanel',
title: 'User Panel',
// কাস্টম ইভেন্ট ডিফাইন করা
fireLoginEvent: function(userName) {
this.fireEvent('userLoggedIn', userName); // কাস্টম ইভেন্ট ট্রিগার করা
}
});
এখানে, fireLoginEvent
মেথডটি userLoggedIn
নামে একটি কাস্টম ইভেন্ট ট্রিগার করবে এবং এতে ব্যবহারকারীর নাম প্যারামিটার হিসেবে পাঠানো হবে।
Ext.application({
name: 'MyApp',
launch: function() {
var userPanel = Ext.create('MyApp.view.UserPanel', {
renderTo: Ext.getBody()
});
// কাস্টম ইভেন্ট 'userLoggedIn' হ্যান্ডল করা
userPanel.on('userLoggedIn', function(userName) {
Ext.Msg.alert('Login Success', userName + ' logged in successfully!');
});
// কাস্টম ইভেন্ট ট্রিগার করা
userPanel.fireLoginEvent('John Doe');
}
});
এখানে, যখন fireLoginEvent
মেথডটি কল করা হবে, তখন কাস্টম ইভেন্ট userLoggedIn
ট্রিগার হবে। এরপর, সেই ইভেন্টটি হ্যান্ডল করার জন্য on
মেথডের মাধ্যমে একটি ইভেন্ট লিসেনার যোগ করা হয়েছে, যা একটি Msg.alert
প্রদর্শন করবে।
fireEvent
যখন একটি নির্দিষ্ট পরিস্থিতি ঘটবে, তখন আপনি fireEvent
মেথড ব্যবহার করে কাস্টম ইভেন্টটি ট্রিগার করতে পারবেন।
this.fireEvent('userLoggedIn', userName);
এটি userLoggedIn
ইভেন্টটি ট্রিগার করবে এবং যে কোনও হ্যান্ডলার এটি হ্যান্ডল করবে।
ExtJS এ কাস্টম ইভেন্ট ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের লজিক এবং ইউজার ইন্টারফেসের মধ্যে আরও ভালো সমন্বয় করতে পারেন, যা অ্যাপ্লিকেশনকে আরও কার্যকরী ও রক্ষণাবেক্ষণযোগ্য করে তোলে।
Read more